import axios from "axios"

// 封装获取当前位置的函数
//创建并导出获取定位城市的数据
export const getCurrentCity = () => {
  // 判断localStorage中是否有定位城市
  const localCity = JSON.parse(localStorage.getItem('hkzf_city'))
  if (!localCity) {
    // 如果没有就使用首页中获取定城市的代码来获取，并且存储到本地存储中，然后返回该城市数据
    return new Promise((resolve, reject) => {
      // 通过Ip定位获取到当前城市的名称
      const curCity = new window.BMapGL.LocalCity()
      curCity.get(async res => {
        try {
          // console.log('当前城市信息',res);
          const { data: result } = await axios.get(`http://localhost:8080/area/info?name=${res.name}`) //查询该城市的信息
          // 存储到本地中
          localStorage.setItem('hkzf_city', JSON.stringify(result.body))
          // 返回该城市数据
          resolve(result.body)
        } catch (e) {
          // 获取定位城市失败
          reject(e)
        }
      })
    })
  }

  // 如果有，就直接返回本地存储中的城市数据
  // 上面返回的值是一个promise的值，为了统一，将该数据也封装成一个promise的值
  return Promise.resolve(localCity)

}

export * from './city'
export * from './auth'
export {API} from './api'
export {BASE_URL} from './url'


